﻿using System;
using System.Collections.Generic;

namespace ARchGL.Platform.Web.Models.TokenAuth
{
    public class AuthenticateResultModel
    {
        /// <summary>
        /// 用户 GUID 标识
        /// </summary>
        public Guid PrimaryId { get; set; }

        /// <summary>
        /// 用户所在公司顶级标识
        /// </summary>
        public Guid OrganizationUnitId { get; set; }        

        public string AccessToken { get; set; }

        public string EncryptedAccessToken { get; set; }

        public int ExpireInSeconds { get; set; }

        public bool ShouldResetPassword { get; set; }

        public string PasswordResetCode { get; set; }

        public long UserId { get; set; }

        public bool RequiresTwoFactorVerification { get; set; }

        public IList<string> TwoFactorAuthProviders { get; set; }

        public string TwoFactorRememberClientToken { get; set; }

        public string ReturnUrl { get; set; }
        /// <summary>
        /// 接口路径
        /// </summary>
        public string ApiPath { get; set; }
        /// <summary>
        /// 帐号
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 登录人名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 角色编码
        /// </summary>
        public string RoleCode { get; set; }
        /// <summary>
        /// 角色名称
        /// </summary>
        public string RoleName { get; set; }
        /// <summary>
        /// 用户头像
        /// </summary>
        public string Avatar { get; set; }
    }
}